package com.xayy.health.mgt.mapper;

import cn.kawins.mybatis.BaseMapper;
import com.xayy.health.mgt.model.SatelliteCode;
import com.xayy.health.mgt.model.SatelliteNode;
import com.xayy.health.mgt.model.vo.SatelliteNodeTreeVo;
import org.springframework.data.repository.query.Param;

import java.util.List;

/**
 * 卫星节点组
 *
 * @author zhangxa
 */
public interface SatelliteNodeMapper extends BaseMapper<SatelliteNode> {

    /**
     * 获取卫星节点信息
     *
     * @param satelliteNode 卫星节点
     * @return List<SatelliteNode>
     */
    List<SatelliteNode> getList(SatelliteNode satelliteNode);

    /**
     * 统计edge数量
     *
     * @param id 入参
     * @return int
     */
    int hasEdge(Long id);

    /**
     * 获取卫星Node列表
     *
     * @param id 入参
     * @return List<SatelliteNodeTreeVo>
     */
    List<SatelliteNodeTreeVo> getSatelliteNodeList(Long id);

    /**
     * 获取节点数据
     *
     * @return List<SatelliteNode>
     */
    List<SatelliteNode> selectTree();

    /**
     * 根据code获取卫星数据
     *
     * @param sateCode 卫星代号
     * @return SatelliteNode
     */
    SatelliteNode selectByCode(String sateCode);

    /**
     * 获取卫星第三方id
     *
     * @param sateCode 卫星code
     * @return 卫星第三方id
     */
    String getSatelliteCode(@Param("code") String sateCode);

    /**
     * 获取卫星信息
     *
     * @param sateCode 卫星code
     * @return 卫星信息
     */
    SatelliteCode getSateInfo(@Param("code") String sateCode);

}
